/* by  yuechenglin */
import { api } from '../axios/index'
import wx from 'weixin-js-sdk'
// 区分sourceFlag字段
function wxShare (shareConfig) {
  // 微信
  const localUrl = location.href.split('#')[0]
  // console.log(shareConfig);
  api({
    method: 'post',
    url: '/agent/api/wechat/signUrl',
    data: {
      url: localUrl
    },
    callback: res => {
      const data = res.data.result
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: data.appId, // 必填，公众号的唯一标识
        timestamp: data.timestamp, // 必填，生成签名的时间戳
        nonceStr: data.noncestr, // 必填，生成签名的随机串
        signature: data.signature, // 必填，签名
        jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone']
      })
      wx.ready(function () {
        // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
        // 朋友
        wx.onMenuShareAppMessage({
          title: shareConfig.title, // 分享标题
          desc: shareConfig.desc, // 分享描述
          link: shareConfig.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: shareConfig.imgUrl, // 分享图标
          type: '', // 分享类型,music、video或link，不填默认为link
          dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
          success: function () {
            // 用户点击了分享后执行的回调函数
          }
        })
        // 朋友圈
        wx.onMenuShareTimeline({
          title: shareConfig.title, // 分享标题
          link: shareConfig.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: shareConfig.imgUrl, // 分享图标
          success: function () {
            // 用户点击了分享后执行的回调函数
          }
        })
        // QQ
        wx.onMenuShareQQ({
          title: shareConfig.title, // 分享标题
          desc: shareConfig.desc, // 分享描述
          link: shareConfig.link, // 分享链接
          imgUrl: shareConfig.imgUrl, // 分享图标
          success: function () {
            // 用户确认分享后执行的回调函数
          },
          cancel: function () {
            // 用户取消分享后执行的回调函数
          }
        })
        // QQ空间
        wx.onMenuShareQZone({
          title: shareConfig.title, // 分享标题
          desc: shareConfig.desc, // 分享描述
          link: shareConfig.link, // 分享链接
          imgUrl: shareConfig.imgUrl, // 分享图标
          success: function () {
            // 用户确认分享后执行的回调函数
          },
          cancel: function () {
            // 用户取消分享后执行的回调函数
          }
        })
      })
    },
    errorback: res => {
      console.log(res)
    }
  })
}
export {
  wxShare
}
